<?php

namespace common\domain\base;

/**
 * api 返回数据统一格式.
 */
trait ApiResponse
{
    /**
     * 基础返回格式.
     *
     * @param int $code
     * @param string $msg
     * @param $data
     * @return array
     */
    protected function response(int $code, string $msg, $data): array
    {
        return ['code' => $code, 'msg' => $msg, 'data' => $data];
    }

    /**
     * 成功返回.
     *
     * @param $data
     * @return array
     */
    protected function responseSuccess($data = null): array
    {
        return $this->response(0, '操作成功', $data);
    }

    /**
     * 失败返回.
     *
     * @param string $msg
     * @param null $data
     * @param int $code
     * @return array
     */
    protected function responseError(string $msg = '操作失败', $data = null, int $code = 1): array
    {
        return $this->response($code, $msg, $data);
    }
}
